package com.ruicar.afs.cloud.afscase.dispatch.annotation;

import com.ruicar.afs.cloud.afscase.dispatch.enums.DispatchTypeEnum;

import java.lang.annotation.*;

/**
 * 分单前置任务类标记
 *
 * @author cheng.bi
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Dispatch {
    /**
     * 依赖执行
     *
     * @return
     */
    String dependsOn() default "";

    /**
     * 异步执行标识
     *
     * @return
     */
    boolean asyn() default false;

    /**
     * 出错是否跳过
     *
     * @return
     */
    boolean errSkip() default true;

    /**
     * 名称
     *
     * @return
     */
    String name() default "";

    /**
     * 分组
     *
     * @return
     */
    DispatchTypeEnum[] group() default {};
}
